package com.shrct.businessprocess.customerservice;

import com.shrct.businessprocess.customerservice.RCFaultReport;
import com.shrct.businessprocess.customerservice.RCFaultReportEventType;
import com.shrct.businessprocess.customerservice.impl.RCFaultReportEventImpl;
import com.shrct.businessprocess.customerservice.proxy.RCFaultReportEventProxy;
import com.shrct.businessprocess.organization.RCEmployee;
import edu.fudan.mylang.pf.EntityImplementation;
import edu.fudan.mylang.pf.IModelObject;
import java.util.Date;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;

@EntityImplementation(implementBy = RCFaultReportEventImpl.class)
public interface RCFaultReportEvent extends IModelObject {
  public abstract RCFaultReport getFaultReport();
  
  public abstract RCFaultReportEvent setFaultReport(final RCFaultReport faultReport);
  
  public abstract Date getDateTime();
  
  public abstract RCFaultReportEvent setDateTime(final Date dateTime);
  
  public abstract RCFaultReportEventType getType();
  
  public abstract RCFaultReportEvent setType(final RCFaultReportEventType type);
  
  public abstract RCEmployee getOperator();
  
  public abstract RCFaultReportEvent setOperator(final RCEmployee operator);
  
  public abstract String getComment();
  
  public abstract RCFaultReportEvent setComment(final String comment);
  
  public abstract void update(final Procedure1<? super RCFaultReportEvent> updater);
  
  public abstract RCFaultReportEventProxy toProxy();
}
